<?php
/**
 * Сервер обработки всех POST-запросов
 * 
 * Виды запросов: добавление поста, добавление комментария, обновление поста, возврат на главную страницу
 * Сервер реализован в виде дерева условных операторов if() с общим корнем
 */

// Проверка запроса на возврат на главную страницу по нажатию кнопки "На главную"

if (isset($_POST['showmain'])) {

// редирект на главную страницу

	header('Location: '.$_SERVER['PHP_SELF']);

// завершение текущего скрипта

	exit;
}

// Проверка запроса на добавление комментария

elseif (isset($_POST['csubmit'])) {
	$lastname = trim($_POST['cname']);
	$lastmsg = trim($_POST['commarea']);	

	if	(			
			isset($_POST['cname']) && !empty($lastname) &&
			isset($_POST['commarea']) && !empty($lastmsg)
		) 	{
				$result = $gbook->commentAdd($_POST['cname'], $_POST['commarea'], $_POST['pid']);

// стандартный редирект на главную страницу с завершением текущего скрипта

				header('Location: '.$_SERVER['PHP_SELF']);
				exit;
		
			} else {

// в этом случае, значения переменных $lastname и $lastmsg сохранятся и будут подставлены в форму добавления комментария

				$errMsg = "Укажите имя и введите комментарий!";

			}

}

/** 
 * Проверка запроса c форм addpost.html и editpost.html по значению скрытого поля "which" 
 */

// Если значение поля не равно нулю, т.е. запрос с формы editpost.html

elseif ($_POST['which']) {

// Проверка нажатия кнопки "Отмена"

	if (isset($_POST['cancel'])) {

// стандартный редирект на главную страницу с завершением текущего скрипта

			header('Location: '.$_SERVER['PHP_SELF']);
			exit;
		}

// Была нажата кнопка "Сохранить"

	$lastmsg = trim($_POST['post']);	

// Если текст поста не пуст и не наполнен пробелами

		if (!empty($lastmsg)) {
			$result = $gbook->postUpdate($_POST['which'], $_POST['post']);
				header('Location: '.$_SERVER['PHP_SELF']);
				exit;
		} else {
			$errMsg = "Сообщение не должно быть пустым!";

		}

// Запрос с формы addpost.html

	} else {
		$lastname = trim($_POST['name']);
		$lastmsg = trim($_POST['post']);
		if	(
			isset($_POST['name']) && !empty($lastname) &&
			isset($_POST['post']) && !empty($lastmsg)
			) {
			$result = $gbook->postSave($_POST['name'], $_POST['post']);

// Пост успешно сохранен, можно стереть временные значения имени пользователя и текста поста

			$lastname = "";
			$lastmsg = "";
		}
		else
			$errMsg = "Укажите имя и введите сообщение!";

}

?>
